package top.hudk;

import java.util.LinkedList;
import java.util.Queue;

/**
 * 类描述：
 * @author HuDongkang
 * @date 2021/11/4
 */
public class Pc {

    @Override
    public int hashCode(){
        return 100;
    }

    public void test(){
        // //等待5秒钟，JVM启动5秒后才会启用可偏向模式
        // Object monitor = newObjectWaitBiasLockModeNo();
        // print(monitor,"加锁前-可偏向状态(101)");
        // Queue<Integer> queue = new LinkedList<>();
        // //第一个线程先运行
        // runTread(() -> {
        //     //此时应该是偏向锁状态,持有锁1秒
        //     synchronized (monitor) {
        //         print(monitor,"生产者-加锁中-偏向锁(101)");
        //         int n = 0;
        //         while (n < 10){
        //             while (queue.size() >= 2){
        //                 try {
        //                     System.out.println("---队列满("+ queue.size() +")-生产者-等待");
        //                     monitor.wait();
        //                 } catch (InterruptedException e) {
        //                     e.printStackTrace();
        //                 }
        //             }
        //             System.out.println("---队列不满("+ queue.size() +")-生产者-生产");
        //             queue.add(n);
        //             monitor.notify();
        //             n++;
        //         }
        //
        //     }
        // });
        //
        // //第一个线程先运行
        // runTread(() -> {
        //     //此时应该是偏向锁状态,持有锁1秒
        //     synchronized (monitor) {
        //         print(monitor,"消费者-加锁中");
        //         while (true){
        //             while (queue.size() <= 0){
        //                 try {
        //                     System.out.println("###队列空("+ queue.size() +")-消费者-等待");
        //                     monitor.wait();
        //                 } catch (InterruptedException e) {
        //                     e.printStackTrace();
        //                 }
        //             }
        //             System.out.println("###队列不空("+ queue.size() +")-消费者-消费");
        //             queue.poll();
        //             monitor.notify();
        //         }
        //     }
        // });
    }

}
